Skip to main content link. Accesskey S
  • Help
  • HCL Logo
  • HCL Lotus Expeditor wiki
  • THIS WIKI IS READ-ONLY. Individual names altered for privacy purposes.
  • HCL forums and blogs
  • Home
  • Product Documentation
  • Community Articles
Search
Community Articles > Expeditor Integrator > Reference: Supported Message Types and Properties
  • Share Show Menu▼
  • Subscribe Show Menu▼

Recent articles by this author

What's New in Lotus Expeditor Client for Desktop and Toolkit 6.2.3

This article provides an overview of the new and noteworthy features and capabilities in the Expeditor 6.2.3 Desktop Client and Toolkit

What's New for Lotus Expeditor Client for Devices 6.2.2

Lotus® Expeditor Client for Devices 6.2.2 provides new function and supports new platforms over the previous release, Lotus Expeditor Client for Devices 6.2.1. New Platform Support Windows Mobile 6.5 devices Support for remote update of Expeditor core components Allows administrators to send new ...

How-To: Enable the Integrator Linux Daemon support

Starting with the 6.2.1 release, the Lotus Expeditor integrator product will support the RedHat Enterprise Linux (RHEL) Update 5 and SuSe Linux (SLED) Desktop Edition 10 platforms. Lotus Expeditor integrator can be configured to run as a standalone runtime as well as a daemon. The following ...

What's New in Lotus Expeditor Server 6.2.1

The Lotus® Expeditor Client Server 6.2.1 provides new application development functions over the previous release, Lotus Expeditor Client Server 6.2. Here are the highlights of these new application development functions: New Platform Support Windows Server 2008 New Database Support Oracle 11g ...

What's New in Lotus Expeditor Client for Devices 6.2.1

The Lotus® Expeditor Client for Devices 6.2.1 provides new application development functions over the previous release, Lotus Expeditor Client for Devices 6.2. Here are the highlights of these new application development functions: New Device Support WinCE 6.0 Pro devices Nokia S60 3.2 ...
Community articleReference: Supported Message Types and Properties
Added by ~Emile Asatoolitader | Edited by IBM contributor~Sven Zenkrotexflar on October 1, 2009 | Version 8
  • Actions Show Menu▼
expanded Abstract
collapsed Abstract
No abstract provided.
Tags: Integrator
ShowTable of Contents
HideTable of Contents
  • 1 Supported Message Types and Properties
    • 1.1 JMS Custom Header Creation for Message Transfer between Back end and Expeditor Integrator
      • 1.1.1 Messages carry File Resource Data
      • 1.1.2 Messages carry JDBC Database Resource Data
      • 1.1.3 Messages are passed on to other Queues or Topics
      • 1.1.4 Messages carry Expeditor integrator Control Information
    • 1.2 Supported Custom Header Properties for Inbound Messages
    • 1.3 JMS Custom Header Creation for Messages from Expeditor integrator to Back end

Supported Message Types and Properties



This article explains the various message types and properties and how they interact with each other and are used to trigger events, execute workflows, etc...

JMS Custom Header Creation for Message Transfer between Back end and Expeditor Integrator


The Integrator platform is able to process different types of messages (e.g. FileTransfer or FileRequest messages). These different message types are used to trigger different ACS Flows which implement default and customer use cases. Furthermore, the Dispatcher Service also uses the message types for message routing information (Note: The Dispatcher Service dispatches incoming messages on the Expeditor integrator default ReqInQ to different local queues for further – parallel – processing.).

The ResourceType property has priority over the TransportType property. If the MessagePurpose is set to FileTransfer | FileRequest | DBRecordUpdate | DBRecordSelect | MessageForward, but the ResourceType is not provided or not recognized the ResourceType is set to its default value depending on the TransportType:
  • TransportType=FTP and ResourceType is not set -> ResourceType=FtpFile
  • TransportType=SSH and ResourceType is not set -> ResourceType=SshFile
  • TransportType=LocalFileSystem and ResourceType is not set -> ResourceType=LocalFileSystemFile
  • TransportType=DB and ResourceType is not set -> ResourceType=DBResource
  • TransportType=MESSAGE and ResourceType is not set -> ResourceType=Message

Messages carry File Resource Data


Figure 1 shows the flow of messages that carry files, file content or fragments of files from the back-end to the (remote) install location of Expeditor integrator. The destination file is assembled and created in the given target directory by a defined set of ACS Activities. The triggered ACS Flow, Activities and the accessed target resource depend on the data type which is transferred (LocalFileSystem file, FTP file or SSH file).

The Activity set builds the ACS flow which was configured for processing of defined message types (default or custom flows and activities).

Figure 1: Process flow for inbound messages with file resource data



The JMS Destination Adapter monitors given local queues and topics of the used JMS provider (e.g. Lotus Expeditor micro broker). As soon as a matching resource appears (e.g. a message with MessagePurpose=FileTransfer), the configured ACS Flow is triggered through the Flow Trigger Event. Different combination of the JMS Custom Header properties MessagePurpose, TransportType and ResourceType allow for starting different ACS Flows (see supported JMS Custom Header properties in chapter ‎2.3 and Resource Adapter configuration).

Figure 2 shows how the Dispatcher Service can be used. It moves messages to other local in queues and also fires ACS Flow Trigger Events. This can be configured and further refined in the inbound Resource Mapper configuration.

Note: The Dispatcher Service is not working in transactional context (“air gap”), but offers distributing of messages to different inbound queues for further parallel processing (faster and recommended for very large message bulks).

Figure 2: Process flow for inbound messages with file resource data using the Dispatcher Service (BUC_1 and BUC_2)



FileRequest messages can be sent to Expeditor integrator to query for specific file located on FTP/SSH file servers or on the local file system. The Request Message contains the resource location in the JMS Custom Header property DestinationPath and DestinationName. TransportType and ResourceType should be provided for further configuration details (ResourceType can also be used to map to a given Resource Mapper configuration in the XPDinteg.xml file).

Figure 3: Process flow for outbound messages: FileRequest Message queries for the retrieval of file resources



Furthermore, file resource related Resource Adapter (FTP, SSH, LocalFileSystem) can trigger ACS flows. When a file appears in the monitored directory, the Resource Adapter fires an ACS Flow Trigger Event which kicks off the corresponding ACS Flow. Then, the ACS Flow can for example process the triggering resource, put it into a message and transfer it as FileTransfer Message back to back-end messaging system (see Figure 4).

Note: The OSGi Event Admin Trigger Event is the matching key between a resource and the corresponding ACS flow.

Figure 4: Process flow for outbound messages: Existence of monitored file resources triggers ACS Flow which can retrieve the triggering resource and send it to the messaging back-end as FileTransfer Message.



Messages carry JDBC Database Resource Data


The MessagePurpose=DBRecordUpdate is used for accessing JDBC database resources (insert, update and delete of database records; see Figure 5). The transferred data can be SQL statements as well as complete data records provided in an XML file structure.

Figure 5: Process flow for inbound messages with JDBC resource data



Database resources can also be transferred from the remote location to the back-end. Such a transfer can be either initiated by the request messages with MessagePurpose=DBRecordSelect (back-end initiated, see Figure 6) or by the existence of monitored DB Result Sets (local Resource Adapter initiated; see Figure 7).

For the initiation from the back-end, the DBRecordSelect message is used which can contain complete SQL statements for the retrieval of the database resource data or the Expeditor integrator XML structure (, see Expeditor Integrator XML Data Structure for DB Operations).

Figure 6: Process flow for outbound messages: DBRecordSelect Message queries for the retrieval of database resources.



Similarly to the file resource related Resource Adapters, the JDBC Resource Adapter can monitor for the existence of the result set of a given database querry (database querry is configurable as SQL statement or xpath querry; see Figure 13).

Figure 7: Process flow for outbound messages: JDBC Resource Adapter monitors database by querying it regularly for a configurable result set. If the result set exists, the corresponding ACS Flow is triggered and executed. The flow can sent the triggering result set to the messaging back-end as XML structure.




Please, refer to Data Exchange with the JDBC Resource Adapter for details about the JDBC Resource Adapter.

Messages are passed on to other Queues or Topics


The JMS Custom Header property MessagePurpose=MessageForward is used for re-routing of messages from an incoming queue to another local or even remotely bridged queue (see Figure 14).

Typical use cases cover the integration of other local JMS clients into the back-end messaging system. Expeditor integrator bridges local clients, for example self-check-out machines, terminals or handheld devices, into the back-end process flows.

Figure 8: Process flow for inbound messages which are further processed and moved to other queues



JMS messages can be transparently routed to other local and remote (bridged) queues and topics. During this message forwarding, Expeditor integrator JMS Custom Header properties can be explicitly set (overwritten, added or deleted).

Please, refer to Example: Configure Message Forwarding for configuring the Message Forwarding use case.

Messages carry Expeditor integrator Control Information


The Expeditor integrator can also be remotely controlled by defined control and request messages. The following MessagePurpose values are supported (Expeditor integrator control messages):
  • FileRequest (for requesting the transmission of a given source file to the back-end from FTP, SSH server or the local file system)
  • BrowseDirectory (for retrieving a list of file names of all files in a given FTP, SSH or local file system directory)
  • ConfigUpdate (for replacing the existing XPDinteg.xml or the XPDintegRoles.xml file or single configuration properties with a new configuration file or property list in the message’s payload)
  • ConfigRetrieval (requests to send the XPDinteg.xml file back to the back-end)
  • DrainQueue (for deleting all messages that are currently stored in a given local queue)
  • BrowseQueue (for retrieving a list of MessageIds of all messages stored in a give local queue)
  • ExecuteScript (for executing a batch file, which is provided in the payload of this message, in a given local file system directory of the Expeditor integrator server)
  • Maintenance (for switching Expeditor integrator into Maintenance Mode during which log and business events are not forwarded to the back-end)
  • HouseKeeping (for triggering the Housekeeping Flow which takes care of local resources and triggers actions and/or informs the Administrator in case of reached triggers)
  • ISACollector (for invoking the IBM Support Assistant which creates a local ZIP file containing required IBM support information)
  • PlatformRestart (for re-starting or even stopping the Expeditor integrator runtime)

Supported Custom Header Properties for Inbound Messages


To summarize, Table 1 contains the supported combination of JMS Custom Header properties for incoming default messages.

Note: If the Queue Dispatcher Service is used for incoming messages, the JMS Custom Header property LocationId must be provided and must match the value configured in the Expeditor integrator.

Table 1: Supported JMS custom header properties for incoming messages

Message contentMessage header paramater valuesAdditional mandatory properties
MessagePurposeTransportTypeResourceType
Data messages
Message carries a file that needs to be send to (4690) FTP ServerMessage carries a file that needs to be send to (4690) FTP ServerFileTransferFileTransferFTP(header not provided)-DestinationPath & -Name

-ResourceCmd (here: FtpServer:value1; FtpServerPort:value2; FtpPassive:value3; FtpUser:value4; FtpPassword:value5; FtpType:value6)

-TransferMode (ASCII | BINARY)

-DestinationCreationMode (APPEND | OVERWRITE)

-MessageId, TransactionId, LocationId, MessageSrcId

-HeaderVersion, SequenceNo, EndOfData, BuildInterval

default | (header not provided)PriceUpdFileSpecific types for retail industry example: All other required properties can be retrieved from the local Expeditor integrator configuration. If they are set in the header anyway, they overwright the local configuration (e.g. the DestinationName of a PriceUpdFile could be changed this way)
MappingDataFile
DiscountDataFile
Message carries a file that needs to be send to SSH ServerFileTransferSSH(header not provided)-DestinationPath & -Name

-ResourceCmd (here: SshServer:value1; SshServerPort:value2; SshUser:value4; SshPassword:value5; SshType:value6)

-TransferMode (ASCII | BINARY)

-DestinationCreationMode (APPEND | OVERWRITE)

-MessageId, TransactionId, LocationId, MessageSrcId

-HeaderVersion, SequenceNo, EndOfData, BuildInterval

SshFile
Message carries a file that needs to be detached to the Local File SystemFileTransferLocalFileSystem(header not provided) -DestinationPath & -Name

-TransferMode (ASCII | BINARY)

-DestinationCreationMode (APPEND | OVERWRITE)

-MessageId, TransactionId, LocationId, MessageSrcId

-HeaderVersion, SequenceNo, EndOfData, BuildInterval

LocalFileSystem | default | (header not provided)ScaleDataFileRetail industry example: All other required properties should be retrieved from the local Expeditor integrator configuration. If they are set in the header anyway, they overwrite the local configuration (e.g. the DestinationName of a PriceUpdFile could be changed this way)
PrintLabelFile
ShelfLabelFile
Message carries a request to send a distinct file back to the AI back-endFileRequestFTPanything | (header not provided)-ResourceType is set to default value = FtpFile

-DestinationPath & -Name

-TransferMode (ASCII | BINARY)

-ResourceCmd (here: FtpServer:value1; FtpServerPort:value2; FtpPassive:value3; FtpUser:value4; FtpPassword:value5; FtpType:value6)

-TransferConfirmationMode (NONE | OVERWRITE | RecreateZero | WriteOtherFile)

(-WriteOtherFileName if TransferConfirmationMode=WriteOtherFile)

-HeaderVersion, MessageId, TransactionId, LocationId, MessageSrcId

SSH(see FTP)

-ResourceCmd (here: SshServer:value1; SshServerPort:value2; SshUser:value4; SshPassword:value5; SshType:value6)

LocalFileSystem-ResourceType is set to default value = LocalFileSystemFile

-DestinationPath & -Name

-TransferMode (ASCII | BINARY)

-TransferConfirmationMode (NONE | OVERWRITE | RecreateZero | WriteOtherFile)

(-WriteOtherFileName if TransferConfirmationMode=WriteOtherFile)

-MessageId, TransactionId, LocationId, MessageSrcId

anythingPriceUpdFile | MappingDataFile | DiscountDataFile | ScaleDataFile | PrintLabelFile | ShelfLabelFileRetail industry example: All other required properties including the TransportType should be retrieved from the local Expeditor integrator configuration. If they are set in the header anyway, they overwrite the local configuration (e.g. the DestinationName of a PriceUpdFile could be changed this way)
Message carries a database record that needs to be writtenDBRecordUpdateDB | anything | (header not provided)anything | (header not provided)Maps to an INSERT SQL statement

-DestinationPath (DB URI and DRIVER_CLASS)

(DestinationPath=DB_URI:’<database_URI

 
’;DRIVER_CLASS:’<DRIVER_CLASS
 
’

e.g. DestinationPath= DBURI:’jdbc:derby:d:/workspace/SampleDb;create=TRUE’;DRIVER_CLASS: ’org.apache.derby.jdbc.EmbeddedDriver’

-DestinationName (DB Table)

-ResourceCmd={SQL | XPDINTEG_DBXML | XML}

-DestinationCreationMode (INSERT | UPDATE | TABLE_CREATE | UPDATE_INSERT)

-MessageId, TransactionId, LocationId, MessageSrcId

-HeaderVersion, SequenceNo, EndOfData, BuildInterval

-Credentials=User:;Password:

-TransferConfirmationMode= { NONE | DELETE | SQL:SQLStmt }, NONE – don’t do anything with the record which triggered the flow, DELETE - SQL delete for records in the result set which triggered this flow only, SQL – provide own SQL statement, where

SQLStmt=select * from table2 where x=? and y=? OR

SQLStmt=select * from where

x= and y=

-payload contains SQL statements separated by semicolon, XPDINTEG_DBXML format or custom XML format

-see chapter ‎2.5

Message carries a SQL command for retrieving a distinct database recordDBRecordSelectDB | anything | (header not provided)anything | (header not provided)Maps to an SELECT SQL statement

-DestinationPath (DB URI and DRIVER_CLASS)

(DestinationPath=DB_URI:’<database_URI

 
’;DRIVER_CLASS:’<DRIVER_CLASS
 
’)

e.g. DestinationPath= DBURI:’jdbc:derby:d:/workspace/SampleDb;create=TRUE’;DRIVER_CLASS: ’org.apache.derby.jdbc.EmbeddedDriver’

-DestinationName (DB Table)

-ResourceCmd={SQL | XPDINTEG_DBXML | XML}

-MessageId, TransactionId, LocationId, MessageSrcId

-HeaderVersion, SequenceNo, EndOfData, BuildInterval



-Credentials=User:;Password:

-TransferConfirmationMode= { NONE | DELETE | SQL:SQLStmt }, NONE – don’t do anything with the record which triggered the flow, DELETE - SQL delete for records in the result set which triggered this flow only, SQL – provide own SQL statement, where

SQLStmt=select * from table2 where x=? and y=? OR

SQLStmt=select * from where

x= and y=

-payload contains SQL statements separated by semicolon, XPDINTEG_DBXML format or custom XML format


-see chapter ‎2.5
Message carries another message which is moved from one local queue to another local queueMessageForwardMESSAGE | anything | (header not provided)anything | (header not provided)This applies to incoming messages at the default ReqInQ (using the Queue Dispatcher).

-If not provided, ResourceType is set to default value = Message and TransportType=MESSAGE

-DestinationName (JNDI key of local destination queue provided in message header property, Resource Mapper or MessageWrite Activity context parameter)

-HeaderVersion, MessageId, TransactionId, LocationId, MessageSrcId

Note: Other local queues can also be used for sending and receiving messages. Then, these parameters are not mandatory.

Control messages
Optionally, all flows can be secured by the CheckJMSHeaderPropertyActivitiy. This Activity can be used to check the Credentials property values of the requesting message: Credentials=User:;Password:
Message requests a file listing of a given file directoryBrowseDirectoryFTP--ResourceType is not used

-DestinationPath

-ResourceCmd (here: ftpServer:value1; ftpServerPort:value2; ftpPassive:value3; ftpUser:value4; ftpPassword:value5; ftpType:value6)

-HeaderVersion, MessageId, TransactionId, LocationId, MessageSrcId

SSH(see FTP)

-ResourceCmd (here: SshServer:value1; SshServerPort:value2; SshUser:value4; SshPassword:value5; SshType:value6)

LocalFileSystem-ResourceType is not used

-DestinationPath

-MessageId, TransactionId, LocationId, MessageSrcId

Message carries a new XPDinteg.xml file with config changes OR a list of updated Expeditor integrator propertiesConfigUpdate-ConfigurationUpdateFile-ResourceType is set to ConfigurationUpdateFile

-HeaderVersion, MessageId, TransactionId, LocationId, MessageSrcId

-Message payload contains new XPDinteg.xml file or

XPDINTEG_CONFIG_XML structure

-ResourceCmd={FILE | ParamList};Command:{restart | stop } [; Param:{ console,reset } ]

Message carries a new XPDintegRoles.xml file with config changes OR a list of updated User Admin store propertiesConfigUpdate-UserConfigUpdateFile-ResourceType is set to UserConfigUpdateFile

-HeaderVersion, MessageId, TransactionId, LocationId, MessageSrcId

-Message payload contains new XPDintegRoles.xml file or

XPDINTEG_USERROLES_XML structure

-ResourceCmd={UserConfigFILE | UserConfigParamList}; Command:{restart | stop }[; Param:{ console,reset } ]

Message carries a request to delete all messages in a distinct local queueDrainQueue--

(jndiDestinationKey of queue must be provided in JMS header property DestinationName)

-TransportType and ResourceType is not used

-DestinationName (jndiDestinationKey of queue)

-HeaderVersion, MessageId, TransactionId, LocationId, MessageSrcId

-Recommended:

Credentials=User:;Password:

Message requests the list of IDs of all message that are currently stored in a distinct local queue back to the AIBrowseQueue---TransportType and ResourceType are not used

-DestinationName (jndiDestinationKey of queue)

-HeaderVersion, MessageId, TransactionId, LocationId, MessageSrcId

Message carries a batch that needs to be detached to local directory and executed OR Message requests the execution of an existing local scriptExecuteScript--

(DestinationPath & -name must be provided in the JMS header)

-ResourceType is set to LocalFileSystemFile

-DestinationPath & -Name (Location to which script is detached if transferred in the payload.) The file under this location is executed (could also be an existing file).

-DestinationCreationMode (APPEND | OVERWRITE)

-HeaderVersion, MessageId, TransactionId, LocationId, MessageSrcId

-Recommended:

Credentials=User:;Password:

Message carries a request to retrieve the XPDinteg configurationConfigRetrieval---TransportType and ResourceType are not used

-HeaderVersion, MessageId, TransactionId, LocationId, MessageSrcId

-Recommended:

Credentials=User:;Password:

Message carries a request to update the Maintenance modeMaintenance---HeaderVersion, MessageId, TransactionId, LocationId, MessageSrcId

- ResourceCmd={ON | OFF} [;Command:{restart | stop}; Param:{console,reset} ]

-Recommended:

Credentials=User:;Password:

Message carries a request to start HouseKeepingHouseKeeping---HeaderVersion, MessageId, TransactionId, LocationId, MessageSrcId
Message carries request to re-start or stop the platformPlatformRestart---HeaderVersion, MessageId, TransactionId, LocationId, MessageSrcId

-ResourceCmd=Command:{restart | stop} [;Param:{ console,reset } ]

-Strongly recommended:

Credentials=User:;Password:

Message that is not routableunknownanything | (header not provided)anything | (header not provided)
Note: It also recommended to provide the TimeStamp (creation time of the message) and the TTL (Time-to-Live) properties. These are required for the Housekeeping operation of Expeditor integrator.

JMS Custom Header Creation for Messages from Expeditor integrator to Back end


There are use cases that require the Expeditor integrator to react by sending messages to the back-end Message Broker. Data for other systems is packaged into messages with message headers which identify the message purpose and the message content .

Table 2 gives an overview of the currently supported (response) JMS custom message headers that are created by the Expeditor integrator. The MessageId is a unique ID for each created message and follows the Expeditor integrator schema for unique IDs:

  MessageId := <LocationId>_<date/time_stamp_in_long>_<static_counter>  


The is an application wide static counter that is increased by +1 for each created message to ensure unique Message IDs.

If an Expeditor integrator ACS flow is triggered by incoming message which is running within another transactional context and therefore, carries a unique TransactionId, this TransactionId is maintained and used to identify the locally triggered ACS flow on the Expeditor integrator runtime. If the TransactionId is not provided by the triggering resource (e.g. message) or the ACS flow is triggered locally, the TransactionId is also uniquely created and follows the same Expeditor integrator schema for unique IDs (as the MessageId):

  TransactionId := <LocationId>_<date/time_stamp_in_long>_<static_counter>  


Basic rules:
  • ResourceType is set to the ResourceType provided in the request message. If a file is captured that is not known yet, then ResourceType is set to the default value = FtpFile | LocalFileSystemFile | SshFile | DBResource | Message depending on the TransportType.
  • TransactionId is set to the TransactionId of the request message. If this is not available, because it was not provided in the request message or the ACS flow was triggered locally, it is uniquely set to TransactionId := __
  • Incoming messages which are transparently forwarded (see MessageForward use cases) will maintain their original MessageId value if this was included in the incoming message (as Expeditor integrator JMS custom header property MessageId). For all other locally created messages, the created MessageId is uniquely set to MessageId := __
  • MessagePriority is set to the value in the Expeditor integrator configuration (property TransferPriority) or to 0 if TransferPriority is not available (not in request message nor local configuration). It is mapped to the standard JMS message priority and is used by the JMS handlers. Messages with the highest priority are processed first (possible values: 0-9; [0]-lowest, [9]-highest).
  • The JMS message priority is set to the MessagePriority custom header property.
  • SequenceNo is created according to Table 10 in Transfer of large files in multiple messages (single message: SequenceNo=0, sequence of multiple messages: SequenceNo=1..n)

Figure 9 shows the flow of messages that carry files, file content or fragments of files from the back-end to the Expeditor integrator (e.g. retail store server). The destination file is assembled and created in the given target directory by a defined set of Activities. The Activity set builds the Application Control Flows (ACS) flow that was configured for the processing of certain message types.

Figure 9: Process flow for outbound messages with file resource data (BUC_2)



Figures 6 and 7 explains how database are monitored and transferred to the messaging back-end or other messaging providers.

Table 2 provides all currently supported JMS custom header property combinations for locally created messages.

Note: These Expeditor integrator JMS custom message headers are created by the XPDINTEG_MESSAGE_WRITE activity within ACS Flows (see chapter ‎4.1.3). The values for the custom header properties are retrieved from the available flow context information. This information is based on JMS custom message headers of the message that triggered the flow, information from the Resource Mapper or from the activity/flow context. The information provided in the JMS header of the triggering/incoming message and its extension in the Resource Mapper has highest priority. The context parameters in the activity/flow can only overwrite the activity settings given in the Application Control Service configuration section of the XPDinteg.xml. However, the XPDINTEG_MESSAGE_WRITE activity provides the opportunity to add, delete and overwrite existing JMS Custom header and Resource Mapper properties (see Table 24 in chapter ‎4.1.3). If no Expeditor integrator related JMS custom message header property information is available in the flow context, the option

AddDefaultHeaders=”{TRUE | FALSE}”

…allows adding the following Expeditor integrator Default JMS Custom Message Header Properties (default is TRUE):
  • If values are available in the activity/flow context:
    • MessagePurpose:{MessageForward|
    • TransportType:{MESSAGE|}
    • ResourceType:{Message|customer_value}
    • TTL:
  • Values created by Expeditor integrator:
    • Encoding:
    • TransferMode:{ASCII|BINARY}
    • HeaderVersion:{<2.0> | }
    • MessageId:{__ | }
    • TransactionId:{ | __}
    • EndOfData:{true|false}
    • SequenceNo:
    • LocationId:
    • DestinationName:
    • MessagePriority: (JMS Message priority:)
    • ResourceSize:
    • TimeStamp:
    • MessageSrcId:

Table 2: JMS Custom header properties of messages created by the Expeditor integrator
Use CaseExample for JMS Custom Header for ReplyComments
General Resource data transfer from back-end to Expeditor integrator
Data transfer from back-end to integrator (back-end initiated)No reply data message

(MessagePurpose examples of back-end message:

FileTransfer, DBRecourdUpdate, MessageForward)

-messages from back-end carry data for locally attached resources (e.g. FileTransfer, DBRecordUpdate; see BUC_1 / BUC_3).

-Business and Log Events are available for monitoring the process.

FTP related use cases
Data transfer from integrator to back-end

(initiated by resource existence)

ResourceType:

Encoding:UTF-8

TransferMode:BINARY

MessagePurpose:FileTransfer

TransportType:FTP

HeaderVersion:<2.0> |

MessageId:__

TransactionId: __

EndOfData:true

SequenceNo:0

LocationId:Store100

DestinationPath:

DestinationName:

MessagePriority:

(JMS Message priority:MessagePriority)

ResourceSize:

TimeStamp:

MessageSrcId:

File existence in monitored directory triggers file transfer (see BUC_2):

If a file is captured that is not configured in Resource Mapper in XPDinteg.xml yet, then ResourceType is set to the default value = FtpFile. Retail example: ResourceType=PosTransDataFile1

The Encoding property is only valid when TransferMode is set to ASCII.

TransactionId is uniquely set according to Expeditor integrator ID schema.

MessagePriority is set to the value in the Expeditor integrator configuration store (property TransferPriority) or to 0 if TransferPriority is not available.

The JMS message priority is set to the value of the MessagePriority custom header property (values 0-9; [0]-lowest, [9]-highest).

Values for the DestinationPath and -Name properties are taken from the local Expeditor integrator configuration. In case of BUC_2 the MetaData (XPDinteg.xml file) contains the file information to be monitored. This value is split into two parts (directory name and file name) and set as the DestinationPath and DestinationName.

Data transfer from integrator to back-end (back-end triggers resource transfer)ResourceType:

Encoding:UTF-8

TransferMode:ASCII

MessagePurpose:FileRequest

TransportType:FTP

HeaderVersion:<2.0> |

MessageId:__

TransactionId:{ | __}

EndOfData:true

SequenceNo:0

LocationId:Store100

DestinationPath:

DestinationName:

MessagePriority:

(JMS Message priority:MessagePriority)

ResourceSize:

TimeStamp:

MessageSrcId:

Message requests file transfer

ResourceType is set to the ResourceType provided in the request message. If a file is captured that is not know yet, the ResourceType is set to the default value = FtpFile.

The Encoding property is only valid when TransferMode is set to ASCII.

TransactionId is set to the TransactionId of the request message. If this is not available, it is uniquely set according to Expeditor integrator ID schema.

MessagePriority is set to the TransferPriority in the request message. If not set, the default value = 0 is used.

Values for the DestinationPath and -Name properties are taken from the aquivalent JMS custom header properties or if the ResourceType is known from the local configuration.

The JMS message priority is set to the MessagePriority custom header property value (possible values: 0-9; [0]-lowest, [9]-highest).

File System related use cases
Data transfer from integrator to back-end

(initiated by resource existence)

ResourceType:

Encoding: UTF-8

TransferMode: ASCII

MessagePurpose: FileTransfer

TransportType: LocalFileSystem

HeaderVersion:<2.0> |

MessageId:__

TransactionId:__

EndOfData:true

SequenceNo: 0

LocationId:Store100

DestinationPath:

DestinationName:

MessagePriority:

(JMS Message priority:)

ResourceSize:

TimeStamp:

MessageSrcId:

File appearance triggers file transfer

If a file is captured that we are not know yet, the ResourceType is set to the default value = LocalFileSystemFile.

The Encoding paramter is only valid when TransferMode is set to ASCII.

TransactionId is uniquely set according to Expeditor integrator ID schema.

MessagePriority is set to the value in the Expeditor integrator configuration store (property TransferPriority) or to 0 if TransferPriority is not available.

Values for the DestinationPath and -Name properties are taken from the local Expeditor integrator configuration. The MetaData value is split into two parts (directory name and file name) and set as the DestinationPath and DestinationName.

The JMS message priority is set to the value of the MessagePriority custom header property (possible values: 0-9; [0]-lowest, [9]-highest).

Data transfer from integrator to back-end (back-end triggers resource transfer)ResourceType:

Encoding:UTF-8

TransferMode:ASCII

MessagePurpose: FileRequest

TransportType:LocalFileSystem

HeaderVersion:<2.0> |

MessageId:__

TransactionId:{ | __}

EndOfData:true

SequenceNo:0

LocationId:Store100

DestinationPath:

DestinationName:

MessagePriority:

(JMS Message priority:)

ResourceSize:

TimeStamp:

MessageSrcId:

Message requests file transfer

ResourceType is set to the ResourceType provided in the request message. If a file is captured that we are not know yet, the ResourceType is set to the default value = LocalFileSystemFile.

The Encoding paramter is only valid when TransferMode is set to ASCII.

TransactionId is set to the TransactionId of the request message. If this is not available, it is uniquely set according to Expeditor integrator ID schema.

Values for the DestinationPath and -Name properties are taken from the aquivalent JMS custom header properties or if the ResourceType is known from the local configuration.

MessagePriority is set to the TransferPriority in the request message. If this is not set, the default value = 0 is used.

The JMS message priority is set to the value of the MessagePriority custom header property (possible values: 0-9; [0]-lowest, [9]-highest).

Database resource related use cases
Data transfer from integrator to back-end

(initiated by resource existence)

ResourceType:

Encoding: UTF-8

TransferMode: ASCII

MessagePurpose: DBRecordSelect

TransportType: DB

HeaderVersion:<2.0> |

MessageId:__

TransactionId: __

EndOfData:true

SequenceNo:0

LocationId:Store100

DestinationPath:DBURI:’<database_URI

 
’;DRIVER_CLASS:’<DRIVER_CLASS
 
’

DestinationName:

TransferConfirmationMode=

MessagePriority:

(JMS Message priority:)

ResourceSize:

TimeStamp:

MessageSrcId:

Message Payload:

Database result set appearance triggers data transfer.

If a DB result set is captured that is not known yet, the ResourceType is set to the default value = DBResource.

The Encoding property is only valid when TransferMode is set to ASCII.

TransactionId is uniquely set according to Expeditor integrator ID schema.

MessagePriority is set to the value in the Expeditor integrator configuration store (property TransferPriority) or to 0 if TransferPriority is not available.

Values for the DestinationPath and -Name properties are taken from the local Expeditor integrator configuration (Resource Adapter, Resource Mapper or DB Activities).

e.g. DestinationPath= DBURI:’jdbc:derby:d:/workspace/SampleDb;create=TRUE’;DRIVER_CLASS: ’org.apache.derby.jdbc.EmbeddedDriver’

-DestinationName (DB Table)

-ResourceCmd={SQL | XPDINTEG_DBXML | XML} contains the database action that was executed.

-TransferConfirmationMode= { NONE | DELETE | SQL:SQLStmt }, NONE – don’t do anything with the record which triggered the flow, DELETE - SQL delete for records in the result set which triggered this flow only, SQL – provide own SQL statement, where

SQLStmt=select * from table2 where x=? and y=? OR

SQLStmt=select * from where

x= and y=

The JMS message priority is set to the value of the MessagePriority custom header property (possible values: 0-9; [0]-lowest, [9]-highest).

By default, messages of ResourceType=DBResource carry the DB query’s result set as well defined XML structure (XML v1.1 file) in the message payload (see XPDinteg_DBdata_xml_structure in chapter ‎2.5.2).

Data transfer from integrator to back-end (back-end triggers resource transfer)ResourceType:

Encoding:UTF-8

TransferMode:ASCII

MessagePurpose: DBRecordSelect

TransportType:DB

HeaderVersion:<2.0> |

MessageId:__

TransactionId:{ | __}

EndOfData:true

SequenceNo:0

LocationId:Store100

DestinationPath:

DestinationName:

ResourceCmd=

MessagePriority:

(JMS Message priority:)

ResourceSize:

TimeStamp:

MessageSrcId:

Message Payload:

Message requests transfer of database result set.

ResourceType is set to the ResourceType provided in the request message. If a database resource is captured that is not known yet, the ResourceType is set to the default value = DBResource.

The Encoding property is only valid when TransferMode is set to ASCII.

TransactionId is set to the TransactionId of the request message. If this is not available, it is uniquely set according to Expeditor integrator ID schema.

Values for the DestinationPath and -Name properties are taken from the local Expeditor integrator configuration (Resource Adapter, Resource Mapper or DB Activities). (DestinationPath=DB_URI:’<database_URI

 
’;DRIVER_CLASS:’<DRIVER_CLASS
 
’)

e.g. DestinationPath= DBURI:’jdbc:derby:d:/workspace/SampleDb;create=TRUE’;DRIVER_CLASS: ’org.apache.derby.jdbc.EmbeddedDriver’

-DestinationName (DB Table)

-ResourceCmd={SQL | XPDINTEG_DBXML | XML} contains the database action that was executed.

MessagePriority is set to the TransferPriority in the request message. If this is not set, the default value = 0 is used.

The JMS message priority is set to the value of the MessagePriority custom header property (possible values: 0-9; [0]-lowest, [9]-highest).

By default, messages of ResourceType=DBResource carry the DB query’s result set as well defined XML structure (XML v1.1 file) in the message payload (see XPDinteg_DBdata_xml_structure in Expeditor integrator XML Data Structure for DB Operations).

Message to message related use cases
Data transfer from integrator to back-end

(initiated by resource existence)

ResourceType:

Encoding: UTF-8

TransferMode: ASCII

MessagePurpose: MessageForward

TransportType: MESSAGE

HeaderVersion:<2.0> |

MessageId:{ | __}

TransactionId:{ | __}

EndOfData:true

SequenceNo:0

LocationId:Store100

DestinationName:

MessagePriority:

(JMS Message priority:)

ResourceSize:

TimeStamp:

TTL:

MessageSrcId: |

Message appearance in local queue triggers data transfer.

If a message is found that is not known yet, the ResourceType is set to the default value = Message.

The Encoding property is only valid when TransferMode is set to ASCII.

MessageId is the MessageId of the forwarded message. If no MessageId custom property is provided, the MessageId is locally created using the Expeditor integrator ID schema.

TransactionId is the TransactionId of the forwarded message which is forwarded. If no TransactionId is provided, it is uniquely set according to Expeditor integrator ID schema.

MessagePriority is set to the value in the Expeditor integrator configuration store (property TransferPriority) or to 0 if TransferPriority is not available.

Values for the DestinationName property contains the JNDI key of the queue and is taken from the local Expeditor integrator configuration (Resource Adapter, Resource Mapper, MsgWriteActivity).

The JMS message priority is set to the value of the MessagePriority custom header property (possible values: 0-9; [0]-lowest, [9]-highest).

MessageSrcId is set to the one in the forwarded message. If not provided, the hostname of the Expeditor integrator runtime will be used.



Other use cases


Platform control use cases (Control Messages)
Back-end sends Browse Directory control messageResourceType:not_set

Encoding:UTF-8

TransferMode:ASCII

MessagePurpose: BrowseDirectory

TransportType:FTP | SSH | LocalFileSystem

HeaderVersion:<2.0> |

MessageId:__

TransactionId:{ | __}

EndOfData:true

SequenceNo:0

LocationId:Store100

DestinationPath:

MessagePriority:

(JMS Message priority:MessagePriority)

TimeStamp:

MessageSrcId:

Message requests directory listing

ResourceType is not used.

TransactionId is set to the TransactionId of the request message. If this is not available, it is uniquely set according to Expeditor integrator ID schema.

MessagePriority is set to the TransferPriority in the request message. If it is not set, the default value = 0 is used.

The JMS message priority is set to the value of the MessagePriority custom header property (possible values: 0-9; [0]-lowest, [9]-highest).

Back-end sends Browse Queue control messageResourceType: not set

Encoding:UTF-8

TransferMode:ASCII

MessagePurpose: BrowseQueue

TransportType:Message

HeaderVersion:<2.0> |

MessageId:__

TransactionId:{ | __}

EndOfData:true

SequenceNo:0

LocationId:Store100

DestinationName:< jndiDestinationKey_of_queue =DestinationName_of_reqMsg>

MessagePriority:

(JMS Message priority:MessagePriority)

TimeStamp:

MessageSrcId:

Message requests queue content listing (listing of message IDs)

ResourceType is not used.

TransactionId is set to the TransactionId of the request message. If this is not available, it is uniquely set according to Expeditor integrator ID schema.

MessagePriority is set to the TransferPriority in the request message. If this is not set, the default value = 0 is used.

The JMS message priority is set to the value of the MessagePriority custom header property (possible values: 0-9; [0]-lowest, [9]-highest).

Back-end sends control messageNo Reply for control messages with MessagePurpose:

DrainQueue, ConfigUpdate, ExecuteScript, Maintenance, HouseKeeping, PlatformRestart

-Business and Log Events are available for monitoring the process.

-Log Event (using the TransactionId; if not available, the MessageId of the request message) is fired after the control flow was executed successfully by the ACS.


  • Actions Show Menu▼


expanded Attachments (0)
collapsed Attachments (0)
Edit the article to add or modify attachments.
expanded Versions (1)
collapsed Versions (1)
Version Comparison     
VersionDateChanged by              Summary of changes
This version (8)Oct 1, 2009, 6:10:26 PM~Sven Zenkrotexflar  IBM contributor
expanded Comments (0)
collapsed Comments (0)
Copy and paste this wiki markup to link to this article from another article in this wiki.
Go ElsewhereStay ConnectedAbout
  • HCL Software
  • HCL Digital Solutions community
  • HCL Software Support
  • BlogsDigital Solutions blog
  • Community LinkHCL Software forums and blogs
  • About HCL Software
  • Privacy
  • Accessibility